package domoMap;
/*
* java.util.Map<k,v>集合，有两个泛型key,value
* 双列集合，一个键对应一个值，键是唯一的。
* key和value的数据类型可以相同也可以不同。
* */

import java.util.HashMap;
import java.util.Map;

/*
Map接口的常用实现类：
* 1.java.util.HashMap<k,v>接口
        底层是哈希表，查询速度块
        JDK1.8之前：数组+单向链表
        JDK1.8之后：数组+单向链表/红黑树
        无序的集合
   2.LinkedHashMap
        底层是哈希表+链表
        有序集合
*
* */
public class DemoMap {
    public static void main(String[] args) {
        show01();
    }
    /*
    * Map接口中常用的方法：
    *   1.put(K key, V value)
将指定的值与该映射中的指定键相关联（可选操作）。
    * */

    /*
    *
    * V	2.remove(Object key)
            如果存在（从可选的操作），从该地图中删除一个键的映射。
        default boolean	remove(Object key, Object value)
            仅当指定的密钥当前映射到指定的值时删除该条目。
    * */

    /*
    * 	3.get(Object key)
            返回到指定键所映射的值，或 null如果此映射包含该键的映射。
    * */

    /*
    * 	4.containsKey(Object key)
            如果此映射包含指定键的映射，则返回 true 。
    * */
    private static void show01() {
        //创建Map集合对象，多态
        Map<String,String> map =new HashMap<>();
        map.put("a","1");
        map.put("b","2");
        map.put("c","1");
        System.out.println(map);
        System.out.println(map.get("b"));
        System.out.println(map.containsKey("n"));
        System.out.println(map.entrySet());
    }
}
